/*
 * Copyright (c) 2015. For Intelligent Group.
 */

package com.intelligent.ispc.core.entity;

import com.intelligent.ispc.common.persistence.BaseEntity;
import com.intelligent.ispc.utils.TestFileStatus;
import com.intelligent.ispc.utils.UserStatus;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;

import javax.persistence.*;
import java.util.Date;

/**
 * Created by Peter.Li on 2015/10/19.
 */
@Entity
@Table(name = "t_testfile")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class TestFile extends BaseEntity {
    private String testFileUUID;
    private String originalName;
    private String standardName;
    private String savePath;
    //private String actor;
    private String description;

    @Temporal(TemporalType.TIMESTAMP)
    private Date importTime;

    @ManyToOne
    @JoinColumn(name = "project_id")
    private Project project;

    private Boolean isDelete;

    @Temporal(TemporalType.TIMESTAMP)
    private Date updateTime;

    @Enumerated(EnumType.STRING)
    private TestFileStatus status;

    private String dataType;

    public String getOriginalName() {
        return originalName;
    }

    public void setOriginalName(String originalName) {
        this.originalName = originalName;
    }

    public String getStandardName() {
        return standardName;
    }

    public void setStandardName(String standardName) {
        this.standardName = standardName;
    }

    public String getSavePath() {
        return savePath;
    }

    public void setSavePath(String savePath) {
        this.savePath = savePath;
    }

    public Date getImportTime() {
        return importTime;
    }

    public void setImportTime(Date importTime) {
        this.importTime = importTime;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Project getProject() {
        return project;
    }

    public void setProject(Project project) {
        this.project = project;
    }

    public String getTestFileUUID() {
        return testFileUUID;
    }

    public void setTestFileUUID(String testFileUUID) {
        this.testFileUUID = testFileUUID;
    }

    public Boolean getDelete() {
        return isDelete;
    }

    public void setDelete(Boolean delete) {
        isDelete = delete;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public TestFileStatus getStatus() {
        return status;
    }

    public void setStatus(TestFileStatus status) {
        this.status = status;
    }

    public String getDataType() {
        return dataType;
    }

    public void setDataType(String dataType) {
        this.dataType = dataType;
    }
}
